package com.xiyu.service.vo.market.marketTask;

import com.xiyu.service.vo.market.task.baseVO.MarketTaskBase;
import com.xiyu.service.vo.market.task.baseVO.MarketTaskReceiverBase;
import com.xiyu.service.vo.market.task.baseVO.MarketTaskContentBase;
import com.xiyu.service.vo.market.task.baseVO.MarketTaskResourceBase;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;

import jakarta.validation.Valid;
import com.xiyu.service.enums.common.CommonStatusEnum;
import com.xiyu.service.framework.validation.InEnum;

@Schema(description = "获取单个营销任务")
@Data
@AllArgsConstructor
public class MarketTaskSingleGetOutput extends MarketTaskBase {

    @Schema(description = "邮件营销任务主键ID")
    private Long id;

    @Schema(description = "邮件营销正文")
    @Valid
    private content content;

    @Schema(description = "邮件营销接收人")
    @Valid
    private List<receiver> receivers;

    @Schema(description = "邮件营销资源")
    @Valid
    private List<resource> resources;

    @Schema(description = "邮件营销资源")
    @Data
    public static class resource extends MarketTaskResourceBase {

        @Schema(description = "邮件营销资源主键ID")
        private Long id;
    }

    @Schema(description = "邮件营销正文")
    @Data
    public static class content extends MarketTaskContentBase {

        @Schema(description = "邮件营销正文主键ID")
        private Long id;
    }

    @Schema(description = "邮件营销接收人")
    @Data
    public static class receiver extends MarketTaskReceiverBase {

        @Schema(description = "邮件营销接收人主键ID")
        private Long id;
    }
}